{-
	Datatypes Module
	
	r51
	
	29 March 2010
	
	Daniel De Guzman

	This module is part of the FPT Algorithm Implementation Project for the Massey University
	paper: 159.402 Programming Languages. It contains all the datatypes specified and used in
	this project, which makes functions easier to understand.
-}
module Datatypes where


-- |=========================================================================================|
-- | 								  File Processing Types									 |
-- |=========================================================================================|

type FileExt = String								-- File extension
type Contents = String								-- Contents of File

-- |-----------------------------------------------------------------------------------------|

-- |=========================================================================================|
-- | 								  Graph Component Types									 |
-- |=========================================================================================|

type K = String										-- Parameter K
type Vertex = String								-- Vertex Label
type VertexCount = String							-- Number of Vertices
type ActualCount = Int								-- Number of Vertices
type GraphInfo = [String]							-- Graph Information
type Neighbours = [Vertex]							-- Neighbours of a Vertex
type VertexCover = [Vertex]							-- The Vertex Cover

-- |=========================================================================================|
-- | 								  Graph Processing Types								 |
-- |=========================================================================================|
type Graph = [(Vertex, Neighbours)]					-- A Graph
type GraphEntry = (Vertex, Neighbours)				-- An entry in a graph

type Kgraph = (K, Graph, VertexCover)				-- Kernelized Graph
type ProcessGraph = (K, Graph, Graph, VertexCover)	-- First Graph is graph to be processed
													-- Second Graph is for later comparison

-- |-----------------------------------------------------------------------------------------|
-- |=========================================================================================|